package com.hhd.demo


/**
 * 中缀表达式：让代码更加简洁易懂 DSL
 *
 * 条件：
 * 1.必须是成员或扩展函数；
 * 2.必须只有一个参数；
 * 3.参数不能是可变参数或默认参数。
 */
fun main(args: Array<String>) {
    val 张三 = Person()

    张三.sayHelloTo("李四")
    //中缀表达式（接近自然语言）
    张三 sayHelloTo "李四"

    //自定义操作符：区间、元组、二元、三元
    val pair = Pair<String, Int>("张三", 20)
    val pair2: Pair<String, Int> = "张三" to 21
}


class Person {
    //infix
    infix fun sayHelloTo(name:String){
//    fun sayHelloTo(name:String){
        println("你好 $name")
    }
}

